home *** CD-ROM | disk | FTP | other *** search
-
- /*
- * DRead.C
- */
-
- #include "lib.h"
-
- long
- DRead(_chan, _buf, bytes)
- void *_buf;
- void *_chan;
- long bytes;
- {
- CHANN *chan = (CHANN *)_chan;
- char *buf = (char *)_buf;
- long len = 0;
- long n = -1;
-
- if (chan->eof)
- return(-1);
- while (bytes) {
- if (n == 0)
- WaitPort(&chan->port);
- n = DNRead(chan, buf, bytes);
- if (n < 0)
- break;
- len += n;
- buf += n;
- bytes -= n;
- if (chan->eof)
- break;
- }
- return(len);
- }
-
-